import subprocess
import os
from ..file_processor import FileProcessor

class DocToMarkdownProcessor(FileProcessor):
    def _process_file(self):
        # 确定输入文件的格式
        _, file_extension = os.path.splitext(self.input_filepath)
        input_format = 'doc' if file_extension.lower() == '.doc' else 'docx'

        pandoc_options = self.options.get('pandoc_options', [
            '-f', input_format,
            '-t', 'markdown_strict+pipe_tables+table_captions+yaml_metadata_block'
        ])

        # 在这里可以添加自定义的文档处理逻辑
        # 例如：调整格式，处理特定的样式等

        # 将处理后的文档转换为 Markdown
        subprocess.run(['pandoc'] + pandoc_options + [self.input_filepath, '-o', self.output_filepath], check=True)

if __name__ == "__main__":
    DocToMarkdownProcessor.main()

# 使用示例：
# python3 doc_to_markdown.py -i input.docx -o output/doc_converted.md
# python3 doc_to_markdown.py -i input.doc -o output/doc_converted.md

"""
可以通过以下方式运行：
python3 -m document2llm.md.doc2md.doc_to_markdown -i input.docx -o output/doc_converted.md
"""


#
